Instalación de librerías y paquetes

Las librerías que se utilizarán para poder leer, cargar, mostrar e interpretar los datos son las principalmente vistas en clases, tales como: rnaturalearth (y sus variantes), sf, mapview, gstat, sp y otras más.

install.packages("rnaturalearthhires", repos = "http://packages.ropensci.org", type = "source")
tinytex::install_tinytex()
library(tinytex)
library(rnaturalearthhires)
library(rnaturalearth)
library(rnaturalearthdata)
library(mapview)
library(dplyr)
library(sf)
library(gstat)
library(sp)

Luego procedemos a cargar nuestra data, realizar una necesaria limpieza de datos e instalar una librería más para vincular los datos.

datos= read.csv(file.choose(), sep = ",", header = TRUE, encoding = "UTF-8" ,fill = TRUE)

datos <- select(datos, -currency_code)
datos <- select(datos, -local_price, -EUR, -GBP, -JPY, -CNY)

library(countrycode)
datos$continent <- countrycode::countrycode(sourcevar = datos[, "name"],
                                            origin = "country.name",
                                            destination = "continent")
## Warning in countrycode_convert(sourcevar = sourcevar, origin = origin, destination = dest, : Some values were not matched unambiguously: Euro area

Creamos la sección “pp120” que será nuestra base para trabajar.

pp120 <- ne_countries(scale = 'large' ,returnclass = "sf")

Ahora, creamos un nuevo dataframe con los datos combinados mediante la asociación con la columna iso_a3 y sov_a3

DatosCombinados <- merge(datos, pp120, by.x="iso_a3", by.y="sov_a3")

Luego filtramos la nueva base de datos

DataComb <- select(DatosCombinados, iso_a3, date, name.x, dollar_ex, dollar_price, USD, continent.x,  gdp_md_est, income_grp, geometry)

Nos quedamos solamente con la data de America

DataComb <- DataComb[DataComb$continent.x=="Americas",]


Mapa <- st_as_sf(DataComb)

Una vez que tenemos los datos en formato sf, podemos comenzar con la correlación espacial de la data y los gráficos

pacman::p_load(tmap, sf, tidyverse, mapview, RColorBrewer, viridis,
               leafpop, leaflet, leaflet.extras, mapdeck, plotly, ggmap,
               ggiraph, widgetframe)

Creamos una paleta que nos va a servir para los colores

pal <- magma(n = length(unique(Mapa$name.x)), direction = -1)

Graficamos usando funcion mapview

Mapa2019 <- mapview(Mapa[Mapa$date=="2019-01-01",], zcol = "dollar_price")
Mapa2009 <- mapview(Mapa[Mapa$date=="2009-07-01",], zcol = "dollar_price")

Ahora hacemos un mapa interactivo que muestre los valores de la big mac en el año 2009 vs 2019

library(leaflet.extras2)
Mapa2009|Mapa2019
mylabel <- glue::glue("{Mapa$name.x} {Mapa$dollar_price}")

Hagamos ahora el análisis de correlación. Para ello, ocuparemos los datos de los países en el año 2019.

datos2019 <- DatosCombinados[DatosCombinados$date=="2019-01-01",]
plot(datos2019$dollar_price~datos2019$gdp_md_est)

cor.test(datos2019$dollar_price, datos2019$gdp_md_est)
## 
##  Pearson's product-moment correlation
## 
## data:  datos2019$dollar_price and datos2019$gdp_md_est
## t = -1.0212, df = 45, p-value = 0.3126
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.4195380  0.1428367
## sample estimates:
##        cor 
## -0.1505034

Con el análisis de correlación, el valor de pearson nos entrega que no existe correlación entre ambas variables.

modelo1 <- lm(datos2019$dollar_price~datos2019$gdp_md_est)
summary(modelo1)
## 
## Call:
## lm(formula = datos2019$dollar_price ~ datos2019$gdp_md_est)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -1.4236 -0.7009 -0.1543  0.4608  3.2704 
## 
## Coefficients:
##                        Estimate Std. Error t value Pr(>|t|)    
## (Intercept)           3.403e+00  1.900e-01  17.905   <2e-16 ***
## datos2019$gdp_md_est -1.043e-07  1.021e-07  -1.021    0.313    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.074 on 45 degrees of freedom
## Multiple R-squared:  0.02265,    Adjusted R-squared:  0.0009324 
## F-statistic: 1.043 on 1 and 45 DF,  p-value: 0.3126

Como en el F-statistic el valor de p-value es > 0.05, aceptamos la hipótesis nula diciendo que nuestro modelo no es válido. El R cuadrado es muy menor, por lo que la variabilidad de la variable “Precio de la big mac” no es explicada por el precio del Pib.

modelo1$coefficients
##          (Intercept) datos2019$gdp_md_est 
##         3.402868e+00        -1.043113e-07
plot(datos2019$dollar_price~datos2019$gdp_md_est)